package com.javatest;

import java.util.Scanner;

/**
 * @author LL
 * 题目：打印出所有的”水仙花数”，所谓”水仙花数”是指一个三位数，其各位数字立方和等于该数本身。
 * 例如：153是一个”水仙花数”，因为153=1的三次方＋5的三次方＋3的三次方。
 * @create 2020-12-09 18:12
 */
public class Subject03 {

   public static boolean isNarcissus(Integer a){
       int num3 = a/100;
       int num2 = (a - num3*100)/10;
       int num1 = a - num3*100 - num2*10;

       if(Math.pow(num1,3) + Math.pow(num2,3) + Math.pow(num3,3) == a){
           return true;
       }
       return false;
   }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个三位数：");
        try {
            int i = sc.nextInt();
            boolean narcissus = isNarcissus(i);
            if(narcissus){
                System.out.println("输入的数字是水仙花数！");
            }else{
                System.out.println("输入的数字不是水仙花数！");
            }
        }catch (Exception e){
            System.out.println("输入数字有误");
        }
    }
}
